草庐IT

java - Java 中 String 的性能替代

全部标签

JavaScript String.split 在字符串文字上生成数组

我见过一些javascript程序员使用这种模式来生成数组:"test,one,two,three".split(',');//=>["test","one","two","three"]他们不是拆分用户输入或某些保存字符串值的变量,而是拆分硬编码的字符串文字以生成数组。在所有情况下,我都看到了像上面这样的一行,似乎只使用数组文字而不依赖split从字符串创建数组是完全合理的。是否有任何理由表明上述创建数组的模式有意义,或者比简单地使用数组文字更有效? 最佳答案 当在运行时拆分字符串而不是使用数组文字时,您是以少量的执行时间换取少量

javascript - 如何在 React 16 中进行性能分析

React文档声明react-addons-perf不适用于React16,但Chrome'sbuilt-intoolsprovideequivalentfunctionality。我还没有发现这种情况。例如,假设我犯了一个经典错误,即没有在元素列表(democodeisonGitHub)中包含正确的key:render(){constitems=this.state.items.map((item,index)=>)returnAdditem{items};}key={index}问题将导致每个ListItem在我将项目添加到列表时重新呈现。使用React15perf工具,我可以很容

javascript - 等待一个已经完成的 Promise 的性能开销是多少?

在做代码审查时,我最近遇到了这样的代码块:constpromises=[];constdata=[];for(letpieceofpieces){for(letchunkofpiece){promises.push(execute(chunk));//executereturnsapromisewhichisnotyetfulfilled}data=awaitPromise.all(promises);}这里的pieces是一个数组的数组。请注意,由于某些限制,我们无法立即等待所有Promise,因此需要进行这种分块。在我的反馈中,我写道这似乎是一种反模式,因为我们也在等待Promis

javascript - Jquery 速度,使用 .html(string) 真的很慢,我怎样才能加快速度?

我有一个函数平均需要250毫秒才能完成。我想在更短的时间内完成此操作,functionupdateDisplay(){varstart=newDate().getTime();var$this=$(this);vardata=$this.data('ansi');varhtml='';for(vari=0;i';}varcreate=newDate().getTime();console.log('Buildhtml:'+(create-start));$this.html(html);varend=newDate().getTime();console.log('Updatehtml

javascript - javascript 中的动态 java 编译器

我正在尝试构建一个在线Java编辑器。我需要使我能够在单击提交时向用户报告编译错误(如果有的话)的功能。我很想知道是否有任何现成的javascript库可供我使用。 最佳答案 获取文本并在服务器端对其调用javac,以某种结构化的方式发回结果并在客户端显示 关于javascript-javascript中的动态java编译器,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1135

Javascript : Strange behaviour `empty string` AND `false` returns empty string

今天我遇到了Javascript中的奇怪行为。下面是代码return""&&false返回“”。为什么会这样? 最佳答案 因为TheproductionLogicalANDExpression:LogicalANDExpression&&BitwiseORExpressionisevaluatedasfollows:LetlrefbetheresultofevaluatingLogicalANDExpression.LetlvalbeGetValue(lref).IfToBoolean(lval)isfalse,returnlval

javascript - ES6中扩展String时的错误

'usestrict';classReverseStringextendsString{reversed(){letres='';for(leti=this.length-1;i>=0;--i){res+=this[i];}returnres;}}letrs=newReverseString("wangyang");console.log(rs.reversed());当我运行这段代码时,我遇到了一个错误:C:\Users\elqstux\Desktop>nodewy.jsC:\Users\elqstux\Desktop\wy.js:14console.log(rs.reversed(

javascript - 如何对一个JS数组进行批量排序(为了性能)

我有一个JS应用程序需要对一个大数组进行复杂的排序然后显示它。使用内置的array.sort(cb)方法处理我的数据最多可能需要1秒。这足以让我的UI变得卡顿。因为UI的高度仅足以在屏幕上显示已排序数组的一个子集,而其余部分位于滚动条下方或已分页,所以我有了一个想法。如果我创建一个遍历大型数组的算法并快速排序,使得前N项完全排序,但数组中的其余项排序不完全,会怎样?每次我运行我的算法时,它都会从上到下对数组进行更多排序。这样我就可以将我的处理分解成block并拥有流畅的用户界面。在最初的几秒钟内,数组不会被完美排序,但缺陷会在滚动条下方,因此不会被注意到。我天真的解决方案是编写我自己的

javascript - jQuery .prev() 的纯 javascript 替代品?

我有这个jQuery代码:$(".q-block-container").prev(".sub-block-container").css("border-bottom","none");我需要一个纯JavaScript等价物,如果它与选择器匹配(在本例中为.sub-block-container),我可以选择ONLY。例如,假设我有一个列表,列表中的每个项目都有一个border-bottom风格。根据特定列表项之前的兄弟项,确定是否应应用边框:在此示例中,边框不得出现在前一个兄弟上元素如果:元素是q,前一个兄弟是s元素是s,前一个兄弟元素是q元素是s,前一个兄弟是s

javascript - Chrome 开发工具的性能分析结果中的监听器

我一直在使用Chrome开发工具分析React应用程序,我发现Listener数量呈线性增长。看看下面的截图。Listeners为橙色。我将其缩小为在p标签内呈现一个简单的倒计时值。剩余时间每1000毫秒使用setInterval函数生成一次,然后在p标记内进行格式化和渲染。我使用create-react-app创建了一个简单的React应用程序,并修改了App.js的App组件内的代码以每秒更新Date.now()的值,当我运行时分析器,我得到了相同的结果。classAppextendsComponent{state={text:'',};loop(){this.setState({